function [varargout] = analysis_info(varargin)
% ANALYSIS_INFO Application M-file for analysis_info.fig
%    FIG = ANALYSIS_INFO launch analysis_info GUI.
%    ANALYSIS_INFO('callback_name', ...) invoke the named callback.

% Last Modified by GUIDE v2.0 20-May-2004 14:55:26

global Project;

if nargin == 0  % LAUNCH GUI
%  Check for existance of analysis data in current Project
	content = fieldnames(Project.Test_Item.Run.Channel(1));
	if strcmp(content{size(content,1)},'Analysis')
		%  Prompt for Analysis Number to Display	
		[anal_num, varargout{1}] = analysis_prompt;
        %  Determine text for analyse type
        switch Project.Test_Item.Run.Channel(1).Analysis(anal_num).Type
            case {0,1} % Time History
                type_text = 'Time History';
            case 2     % PSD
                type_text = 'PSD';
            case 3     % FRF
                type_text = 'FRF';
            case 4     % Swept Sine Magnitude
                type_text = 'Swept Sine : Magnitude vs. Frequency';
            case 5     % Swept Sine FRF
                type_text = 'Swept Sine : FRF';
            case 6     % Shock Response Spectrum
                type_text = 'Shock Response Spectrum';
            case 7     % One-Third Octave
                type_text = '1/3 Octave Spectrum'
        end
	else
        analyses_missing_error;
        return  % Added on 4/11/05 by BPR
	end

	fig = openfig(mfilename,'reuse');

	% Use system color scheme for figure:
	set(fig,'Color',get(0,'defaultUicontrolBackgroundColor'));

	% Generate a structure of handles to pass to callbacks, and store it. 
	handles = guihandles(fig);
	guidata(fig, handles);

    % Populate text fields with Analysis Information
    set(handles.Description_Text,'String',...
        Project.Test_Item.Run.Channel(1).Analysis(anal_num).Descrip);
    set(handles.Type_Text,'String',type_text);
    set(handles.StartTime_Text,'String',...
        (Project.Test_Item.Run.Channel(1).Analysis(anal_num).FPoint / Project.Test_Item.Run.Sample_Rate));
    set(handles.EndTime_Text,'String',...
        (Project.Test_Item.Run.Channel(1).Analysis(anal_num).LPoint / Project.Test_Item.Run.Sample_Rate));
    guidata(fig,handles);
    
	if nargout > 0
		varargout{1} = fig;
	end

elseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK

	try
		if (nargout)
			[varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard
		else
			feval(varargin{:}); % FEVAL switchyard
		end
	catch
		disp(lasterr);
	end

end % if nargin == 0

%| ABOUT CALLBACKS:
%| GUIDE automatically appends subfunction prototypes to this file, and 
%| sets objects' callback properties to call them through the FEVAL 
%| switchyard above. This comment describes that mechanism.
%|
%| Each callback subfunction declaration has the following form:
%| <SUBFUNCTION_NAME>(H, EVENTDATA, HANDLES, VARARGIN)
%|
%| The subfunction name is composed using the object's Tag and the 
%| callback type separated by '_', e.g. 'slider2_Callback',
%| 'figure1_CloseRequestFcn', 'axis1_ButtondownFcn'.
%|
%| H is the callback object's handle (obtained using GCBO).
%|
%| EVENTDATA is empty, but reserved for future use.
%|
%| HANDLES is a structure containing handles of components in GUI using
%| tags as fieldnames, e.g. handles.figure1, handles.slider2. This
%| structure is created at GUI startup using GUIHANDLES and stored in
%| the figure's application data using GUIDATA. A copy of the structure
%| is passed to each callback.  You can store additional information in
%| this structure at GUI startup, and you can change the structure
%| during callbacks.  Call guidata(h, handles) after changing your
%| copy to replace the stored original so that subsequent callbacks see
%| the updates. Type "help guihandles" and "help guidata" for more
%| information.
%|
%| VARARGIN contains any extra arguments you have passed to the
%| callback. Specify the extra arguments by editing the callback
%| property in the inspector. By default, GUIDE sets the property to:
%| <MFILENAME>('<SUBFUNCTION_NAME>', gcbo, [], guidata(gcbo))
%| Add any extra arguments after the last argument, before the final
%| closing parenthesis.

% --------------------------------------------------------------------
function varargout = close_pushbutton_Callback(h, eventdata, handles, varargin)

delete(handles.AnalysisInfo_Figure);
